package com.css.dzj.zfjg.modules.admpunishment.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "jg_jgxw_punish_action", schema = "DZJZFJG", catalog = "")
public class JgJgxwPunishActionEntity {
    private String id;
    private String currentUserId;
    private String flowRunId;
    private String flowRunSubject;
    private Date gxsj;
    private String bbh;
    private String jhzt;
    private String superviseItemCode;
    private String punishActionName;
    private String punishActionCode;
    private String implementInstitution;
    private String implementInstitutionCode;
    private String entrustDept;
    private String entrustDeptCode;
    private String superviseObject;
    private String caseSource;
    private String checkActionCode;
    private String administrativeCp;
    private String administrativeCpNa;
    private String administrativeCpCeType;
    private String administrativeCpUiCode;
    private String addressRegistered;
    private String addressOperating;
    private String areaNumber;
    private String illegalFact;
    private String punishAccord;
    private String punishProcedure;
    private String ifHearingWitnesses;
    private String filingDate;
    private String caseInvolvingPunishment;
    private String majorCase;
    private String legalReview;
    private Date legalReviewDate;
    private String legalReviewOpinions;
    private String discussCollectively;
    private Date groupDiscussionDate;
    private String groupDiscussionConclusion;
    private String punishDocumentCode;
    private Date setDate;
    private BigDecimal fine;
    private String punishType;
    private String penaltyResult;
    private String administrativeReconsider;
    private String administrativeAction;
    private String casesClosedExecutionWay;
    private String casesClosedExecutionResult;
    private BigDecimal casesClosedFine;
    private String casesClosedExecution;
    private String administrativePenalties;
    private String otherDisposals;
    private Date deportationDate;
    private Date submittedDate;
    private String submittedPersonnel;
    private String cdSource;
    private String cdId;
    private String recordUniqueIdentity;
    private Date cdTime;
    private String cdBatch;
    private String cdOperation;
    private String flag;
    private long autoId;
    private Date updateTime;
    private String createUser;
    private String updateUser;
    private Date createTime;
    private String lawDepartment;
    private String lawOffice;


    @Id
    @Column(name = "ID")
    /*@GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "com.css.dzj.zfjg.common.util.SnowflakeId")*/
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "current_User_Id")
    public String getCurrentUserId() {
        return currentUserId;
    }

    public void setCurrentUserId(String currentUserId) {
        this.currentUserId = currentUserId;
    }

    @Basic
    @Column(name = "flow_Run_Id")
    public String getFlowRunId() {
        return flowRunId;
    }

    public void setFlowRunId(String flowRunId) {
        this.flowRunId = flowRunId;
    }

    @Basic
    @Column(name = "flow_Run_Subject")
    public String getFlowRunSubject() {
        return flowRunSubject;
    }

    public void setFlowRunSubject(String flowRunSubject) {
        this.flowRunSubject = flowRunSubject;
    }

    @Basic
    @Column(name = "GXSJ")
    public Date getGxsj() {
        return gxsj;
    }

    public void setGxsj(Date gxsj) {
        this.gxsj = gxsj;
    }

    @Basic
    @Column(name = "BBH")
    public String getBbh() {
        return bbh;
    }

    public void setBbh(String bbh) {
        this.bbh = bbh;
    }

    @Basic
    @Column(name = "JHZT")
    public String getJhzt() {
        return jhzt;
    }

    public void setJhzt(String jhzt) {
        this.jhzt = jhzt;
    }

    @Basic
    @Column(name = "supervise_item_code")
    public String getSuperviseItemCode() {
        return superviseItemCode;
    }

    public void setSuperviseItemCode(String superviseItemCode) {
        this.superviseItemCode = superviseItemCode;
    }

    @Basic
    @Column(name = "punish_action_name")
    public String getPunishActionName() {
        return punishActionName;
    }

    public void setPunishActionName(String punishActionName) {
        this.punishActionName = punishActionName;
    }

    @Basic
    @Column(name = "punish_action_code")
    public String getPunishActionCode() {
        return punishActionCode;
    }

    public void setPunishActionCode(String punishActionCode) {
        this.punishActionCode = punishActionCode;
    }

    @Basic
    @Column(name = "implement_institution")
    public String getImplementInstitution() {
        return implementInstitution;
    }

    public void setImplementInstitution(String implementInstitution) {
        this.implementInstitution = implementInstitution;
    }

    @Basic
    @Column(name = "implement_institution_code")
    public String getImplementInstitutionCode() {
        return implementInstitutionCode;
    }

    public void setImplementInstitutionCode(String implementInstitutionCode) {
        this.implementInstitutionCode = implementInstitutionCode;
    }

    @Basic
    @Column(name = "entrust_dept")
    public String getEntrustDept() {
        return entrustDept;
    }

    public void setEntrustDept(String entrustDept) {
        this.entrustDept = entrustDept;
    }

    @Basic
    @Column(name = "entrust_dept_code")
    public String getEntrustDeptCode() {
        return entrustDeptCode;
    }

    public void setEntrustDeptCode(String entrustDeptCode) {
        this.entrustDeptCode = entrustDeptCode;
    }

    @Basic
    @Column(name = "supervise_object")
    public String getSuperviseObject() {
        return superviseObject;
    }

    public void setSuperviseObject(String superviseObject) {
        this.superviseObject = superviseObject;
    }

    @Basic
    @Column(name = "case_source")
    public String getCaseSource() {
        return caseSource;
    }

    public void setCaseSource(String caseSource) {
        this.caseSource = caseSource;
    }

    @Basic
    @Column(name = "check_action_code")
    public String getCheckActionCode() {
        return checkActionCode;
    }

    public void setCheckActionCode(String checkActionCode) {
        this.checkActionCode = checkActionCode;
    }

    @Basic
    @Column(name = "administrative_cp")
    public String getAdministrativeCp() {
        return administrativeCp;
    }

    public void setAdministrativeCp(String administrativeCp) {
        this.administrativeCp = administrativeCp;
    }

    @Basic
    @Column(name = "administrative_cp_na")
    public String getAdministrativeCpNa() {
        return administrativeCpNa;
    }

    public void setAdministrativeCpNa(String administrativeCpNa) {
        this.administrativeCpNa = administrativeCpNa;
    }

    @Basic
    @Column(name = "administrative_cp_ce_type")
    public String getAdministrativeCpCeType() {
        return administrativeCpCeType;
    }

    public void setAdministrativeCpCeType(String administrativeCpCeType) {
        this.administrativeCpCeType = administrativeCpCeType;
    }

    @Basic
    @Column(name = "administrative_cp_ui_code")
    public String getAdministrativeCpUiCode() {
        return administrativeCpUiCode;
    }

    public void setAdministrativeCpUiCode(String administrativeCpUiCode) {
        this.administrativeCpUiCode = administrativeCpUiCode;
    }

    @Basic
    @Column(name = "address_registered")
    public String getAddressRegistered() {
        return addressRegistered;
    }

    public void setAddressRegistered(String addressRegistered) {
        this.addressRegistered = addressRegistered;
    }

    @Basic
    @Column(name = "address_operating")
    public String getAddressOperating() {
        return addressOperating;
    }

    public void setAddressOperating(String addressOperating) {
        this.addressOperating = addressOperating;
    }

    @Basic
    @Column(name = "area_number")
    public String getAreaNumber() {
        return areaNumber;
    }

    public void setAreaNumber(String areaNumber) {
        this.areaNumber = areaNumber;
    }

    @Basic
    @Column(name = "illegal_fact")
    public String getIllegalFact() {
        return illegalFact;
    }

    public void setIllegalFact(String illegalFact) {
        this.illegalFact = illegalFact;
    }

    @Basic
    @Column(name = "punish_accord")
    public String getPunishAccord() {
        return punishAccord;
    }

    public void setPunishAccord(String punishAccord) {
        this.punishAccord = punishAccord;
    }

    @Basic
    @Column(name = "punish_procedure")
    public String getPunishProcedure() {
        return punishProcedure;
    }

    public void setPunishProcedure(String punishProcedure) {
        this.punishProcedure = punishProcedure;
    }

    @Basic
    @Column(name = "if_hearing_witnesses")
    public String getIfHearingWitnesses() {
        return ifHearingWitnesses;
    }

    public void setIfHearingWitnesses(String ifHearingWitnesses) {
        this.ifHearingWitnesses = ifHearingWitnesses;
    }

    @Basic
    @Column(name = "filing_date")
    public String getFilingDate() {
        return filingDate;
    }

    public void setFilingDate(String filingDate) {
        this.filingDate = filingDate;
    }

    @Basic
    @Column(name = "case_involving_punishment")
    public String getCaseInvolvingPunishment() {
        return caseInvolvingPunishment;
    }

    public void setCaseInvolvingPunishment(String caseInvolvingPunishment) {
        this.caseInvolvingPunishment = caseInvolvingPunishment;
    }

    @Basic
    @Column(name = "major_case")
    public String getMajorCase() {
        return majorCase;
    }

    public void setMajorCase(String majorCase) {
        this.majorCase = majorCase;
    }

    @Basic
    @Column(name = "legal_review")
    public String getLegalReview() {
        return legalReview;
    }

    public void setLegalReview(String legalReview) {
        this.legalReview = legalReview;
    }

    @Basic
    @Column(name = "legal_review_date")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getLegalReviewDate() {
        return legalReviewDate;
    }

    public void setLegalReviewDate(Date legalReviewDate) {
        this.legalReviewDate = legalReviewDate;
    }

    @Basic
    @Column(name = "legal_review_opinions")
    public String getLegalReviewOpinions() {
        return legalReviewOpinions;
    }

    public void setLegalReviewOpinions(String legalReviewOpinions) {
        this.legalReviewOpinions = legalReviewOpinions;
    }

    @Basic
    @Column(name = "discuss_collectively")
    public String getDiscussCollectively() {
        return discussCollectively;
    }

    public void setDiscussCollectively(String discussCollectively) {
        this.discussCollectively = discussCollectively;
    }

    @Basic
    @Column(name = "group_discussion_date")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getGroupDiscussionDate() {
        return groupDiscussionDate;
    }

    public void setGroupDiscussionDate(Date groupDiscussionDate) {
        this.groupDiscussionDate = groupDiscussionDate;
    }

    @Basic
    @Column(name = "group_discussion_conclusion")
    public String getGroupDiscussionConclusion() {
        return groupDiscussionConclusion;
    }

    public void setGroupDiscussionConclusion(String groupDiscussionConclusion) {
        this.groupDiscussionConclusion = groupDiscussionConclusion;
    }

    @Basic
    @Column(name = "punish_document_code")
    public String getPunishDocumentCode() {
        return punishDocumentCode;
    }

    public void setPunishDocumentCode(String punishDocumentCode) {
        this.punishDocumentCode = punishDocumentCode;
    }

    @Basic
    @Column(name = "set_date")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getSetDate() {
        return setDate;
    }

    public void setSetDate(Date setDate) {
        this.setDate = setDate;
    }

    @Basic
    @Column(name = "fine")
    public BigDecimal getFine() {
        return fine;
    }

    public void setFine(BigDecimal fine) {
        this.fine = fine;
    }

    @Basic
    @Column(name = "punish_type")
    public String getPunishType() {
        return punishType;
    }

    public void setPunishType(String punishType) {
        this.punishType = punishType;
    }

    @Basic
    @Column(name = "penalty_result")
    public String getPenaltyResult() {
        return penaltyResult;
    }

    public void setPenaltyResult(String penaltyResult) {
        this.penaltyResult = penaltyResult;
    }

    @Basic
    @Column(name = "administrative_reconsider")
    public String getAdministrativeReconsider() {
        return administrativeReconsider;
    }

    public void setAdministrativeReconsider(String administrativeReconsider) {
        this.administrativeReconsider = administrativeReconsider;
    }

    @Basic
    @Column(name = "administrative_action")
    public String getAdministrativeAction() {
        return administrativeAction;
    }

    public void setAdministrativeAction(String administrativeAction) {
        this.administrativeAction = administrativeAction;
    }

    @Basic
    @Column(name = "cases_closed_execution_way")
    public String getCasesClosedExecutionWay() {
        return casesClosedExecutionWay;
    }

    public void setCasesClosedExecutionWay(String casesClosedExecutionWay) {
        this.casesClosedExecutionWay = casesClosedExecutionWay;
    }

    @Basic
    @Column(name = "cases_closed_execution_result")
    public String getCasesClosedExecutionResult() {
        return casesClosedExecutionResult;
    }

    public void setCasesClosedExecutionResult(String casesClosedExecutionResult) {
        this.casesClosedExecutionResult = casesClosedExecutionResult;
    }

    @Basic
    @Column(name = "cases_closed_fine")
    public BigDecimal getCasesClosedFine() {
        return casesClosedFine;
    }

    public void setCasesClosedFine(BigDecimal casesClosedFine) {
        this.casesClosedFine = casesClosedFine;
    }

    @Basic
    @Column(name = "cases_closed_execution")
    public String getCasesClosedExecution() {
        return casesClosedExecution;
    }

    public void setCasesClosedExecution(String casesClosedExecution) {
        this.casesClosedExecution = casesClosedExecution;
    }

    @Basic
    @Column(name = "administrative_penalties")
    public String getAdministrativePenalties() {
        return administrativePenalties;
    }

    public void setAdministrativePenalties(String administrativePenalties) {
        this.administrativePenalties = administrativePenalties;
    }

    @Basic
    @Column(name = "other_disposals")
    public String getOtherDisposals() {
        return otherDisposals;
    }

    public void setOtherDisposals(String otherDisposals) {
        this.otherDisposals = otherDisposals;
    }

    @Basic
    @Column(name = "deportation_date")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getDeportationDate() {
        return deportationDate;
    }

    public void setDeportationDate(Date deportationDate) {
        this.deportationDate = deportationDate;
    }

    @Basic
    @Column(name = "submitted_date")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getSubmittedDate() {
        return submittedDate;
    }

    public void setSubmittedDate(Date submittedDate) {
        this.submittedDate = submittedDate;
    }

    @Basic
    @Column(name = "submitted_personnel")
    public String getSubmittedPersonnel() {
        return submittedPersonnel;
    }

    public void setSubmittedPersonnel(String submittedPersonnel) {
        this.submittedPersonnel = submittedPersonnel;
    }

    @Basic
    @Column(name = "cd_source")
    public String getCdSource() {
        return cdSource;
    }

    public void setCdSource(String cdSource) {
        this.cdSource = cdSource;
    }

    @Basic
    @Column(name = "cd_id")
    public String getCdId() {
        return cdId;
    }

    public void setCdId(String cdId) {
        this.cdId = cdId;
    }

    @Basic
    @Column(name = "record_unique_identity")
    public String getRecordUniqueIdentity() {
        return recordUniqueIdentity;
    }

    public void setRecordUniqueIdentity(String recordUniqueIdentity) {
        this.recordUniqueIdentity = recordUniqueIdentity;
    }

    @Basic
    @Column(name = "cd_time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getCdTime() {
        return cdTime;
    }

    public void setCdTime(Date cdTime) {
        this.cdTime = cdTime;
    }

    @Basic
    @Column(name = "cd_batch")
    public String getCdBatch() {
        return cdBatch;
    }

    public void setCdBatch(String cdBatch) {
        this.cdBatch = cdBatch;
    }

    @Basic
    @Column(name = "cd_operation")
    public String getCdOperation() {
        return cdOperation;
    }

    public void setCdOperation(String cdOperation) {
        this.cdOperation = cdOperation;
    }

    @Basic
    @Column(name = "flag")
    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    @Basic
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "auto_id", insertable=false, updatable=false, precision=19, scale=0, nullable=false)
    public long getAutoId() {
        return autoId;
    }

    public void setAutoId(long autoId) {
        this.autoId = autoId;
    }

    @Basic
    @Column(name = "update_time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "create_user")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "update_user")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "create_time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "law_department")
    public String getLawDepartment() {
        return lawDepartment;
    }

    public void setLawDepartment(String lawDepartment) {
        this.lawDepartment = lawDepartment;
    }

    @Basic
    @Column(name = "law_office")
    public String getLawOffice() {
        return lawOffice;
    }

    public void setLawOffice(String lawOffice) {
        this.lawOffice = lawOffice;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        JgJgxwPunishActionEntity that = (JgJgxwPunishActionEntity) o;
        return autoId == that.autoId &&
                Objects.equals(id, that.id) &&
                Objects.equals(currentUserId, that.currentUserId) &&
                Objects.equals(flowRunId, that.flowRunId) &&
                Objects.equals(flowRunSubject, that.flowRunSubject) &&
                Objects.equals(gxsj, that.gxsj) &&
                Objects.equals(bbh, that.bbh) &&
                Objects.equals(jhzt, that.jhzt) &&
                Objects.equals(superviseItemCode, that.superviseItemCode) &&
                Objects.equals(punishActionName, that.punishActionName) &&
                Objects.equals(punishActionCode, that.punishActionCode) &&
                Objects.equals(implementInstitution, that.implementInstitution) &&
                Objects.equals(implementInstitutionCode, that.implementInstitutionCode) &&
                Objects.equals(entrustDept, that.entrustDept) &&
                Objects.equals(entrustDeptCode, that.entrustDeptCode) &&
                Objects.equals(superviseObject, that.superviseObject) &&
                Objects.equals(caseSource, that.caseSource) &&
                Objects.equals(checkActionCode, that.checkActionCode) &&
                Objects.equals(administrativeCp, that.administrativeCp) &&
                Objects.equals(administrativeCpNa, that.administrativeCpNa) &&
                Objects.equals(administrativeCpCeType, that.administrativeCpCeType) &&
                Objects.equals(administrativeCpUiCode, that.administrativeCpUiCode) &&
                Objects.equals(addressRegistered, that.addressRegistered) &&
                Objects.equals(addressOperating, that.addressOperating) &&
                Objects.equals(areaNumber, that.areaNumber) &&
                Objects.equals(illegalFact, that.illegalFact) &&
                Objects.equals(punishAccord, that.punishAccord) &&
                Objects.equals(punishProcedure, that.punishProcedure) &&
                Objects.equals(ifHearingWitnesses, that.ifHearingWitnesses) &&
                Objects.equals(filingDate, that.filingDate) &&
                Objects.equals(caseInvolvingPunishment, that.caseInvolvingPunishment) &&
                Objects.equals(majorCase, that.majorCase) &&
                Objects.equals(legalReview, that.legalReview) &&
                Objects.equals(legalReviewDate, that.legalReviewDate) &&
                Objects.equals(legalReviewOpinions, that.legalReviewOpinions) &&
                Objects.equals(discussCollectively, that.discussCollectively) &&
                Objects.equals(groupDiscussionDate, that.groupDiscussionDate) &&
                Objects.equals(groupDiscussionConclusion, that.groupDiscussionConclusion) &&
                Objects.equals(punishDocumentCode, that.punishDocumentCode) &&
                Objects.equals(setDate, that.setDate) &&
                Objects.equals(fine, that.fine) &&
                Objects.equals(punishType, that.punishType) &&
                Objects.equals(penaltyResult, that.penaltyResult) &&
                Objects.equals(administrativeReconsider, that.administrativeReconsider) &&
                Objects.equals(administrativeAction, that.administrativeAction) &&
                Objects.equals(casesClosedExecutionWay, that.casesClosedExecutionWay) &&
                Objects.equals(casesClosedExecutionResult, that.casesClosedExecutionResult) &&
                Objects.equals(casesClosedFine, that.casesClosedFine) &&
                Objects.equals(casesClosedExecution, that.casesClosedExecution) &&
                Objects.equals(administrativePenalties, that.administrativePenalties) &&
                Objects.equals(otherDisposals, that.otherDisposals) &&
                Objects.equals(deportationDate, that.deportationDate) &&
                Objects.equals(submittedDate, that.submittedDate) &&
                Objects.equals(submittedPersonnel, that.submittedPersonnel) &&
                Objects.equals(cdSource, that.cdSource) &&
                Objects.equals(cdId, that.cdId) &&
                Objects.equals(recordUniqueIdentity, that.recordUniqueIdentity) &&
                Objects.equals(cdTime, that.cdTime) &&
                Objects.equals(cdBatch, that.cdBatch) &&
                Objects.equals(cdOperation, that.cdOperation) &&
                Objects.equals(flag, that.flag) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(lawDepartment, that.lawDepartment) &&
                Objects.equals(lawOffice, that.lawOffice);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, currentUserId, flowRunId, flowRunSubject, gxsj, bbh, jhzt, superviseItemCode, punishActionName, punishActionCode, implementInstitution, implementInstitutionCode, entrustDept, entrustDeptCode, superviseObject, caseSource, checkActionCode, administrativeCp, administrativeCpNa, administrativeCpCeType, administrativeCpUiCode, addressRegistered, addressOperating, areaNumber, illegalFact, punishAccord, punishProcedure, ifHearingWitnesses, filingDate, caseInvolvingPunishment, majorCase, legalReview, legalReviewDate, legalReviewOpinions, discussCollectively, groupDiscussionDate, groupDiscussionConclusion, punishDocumentCode, setDate, fine, punishType, penaltyResult, administrativeReconsider, administrativeAction, casesClosedExecutionWay, casesClosedExecutionResult, casesClosedFine, casesClosedExecution, administrativePenalties, otherDisposals, deportationDate, submittedDate, submittedPersonnel, cdSource, cdId, recordUniqueIdentity, cdTime, cdBatch, cdOperation, flag, autoId, updateTime, createUser, updateUser, createTime, lawDepartment, lawOffice);
    }
}
